//
//  NSString+XHExtension.m
//  BigShot
//
//  Created by xiaohui on 16/9/23.
//  Copyright © 2016年 xiaohui. All rights reserved.
//

#import "NSString+XHExtension.h"

@implementation NSString (XHExtension)

/*
方法名:   获取字符串路径对应文件夹的大小
@param  无
@return NSInteger   尺寸大小
*/

- (NSInteger)fileSize
{
    // 文件管理者
    NSFileManager *mgr = [NSFileManager defaultManager];
    // 是否为文件夹
    BOOL isDirectory = NO;
    // 这个路径是否存在
    BOOL exists = [mgr fileExistsAtPath:self isDirectory:&isDirectory];
    // 路径不存在
    if (exists == NO) return 0;
    
    if (isDirectory) { // 文件夹
        // 总大小
        NSInteger size = 0;
        // 获得文件夹中的所有内容
        NSDirectoryEnumerator *enumerator = [mgr enumeratorAtPath:self];
        for (NSString *subpath in enumerator) {
            // 获得全路径
            NSString *fullSubpath = [self stringByAppendingPathComponent:subpath];
            // 获得文件属性
            size += [mgr attributesOfItemAtPath:fullSubpath error:nil].fileSize;
        }
        return size;
    } else { // 文件
        return [mgr attributesOfItemAtPath:self error:nil].fileSize;
    }
}

/*
 方法名:  计算字符串中有几个t相同的字符
 @param  subStr
 @param  string
 @return NSArray      返回个数
 */

+(NSArray*)rangeOfSubString:(NSString*)subStr inString:(NSString*)string {
    NSMutableArray *rangeArray = [NSMutableArray array];
    NSString*string1 = [string stringByAppendingString:subStr];
    NSString *temp;
    for(int i =0; i < string.length; i ++) {
        temp = [string1 substringWithRange:NSMakeRange(i, subStr.length)];
        
        if ([temp isEqualToString:subStr]) {
            NSRange range = {i,subStr.length};
            [rangeArray addObject: [NSValue valueWithRange:range]];
        }
    }
    return rangeArray;
}

/*
 方法名:  计算导航标题超15个字显示“...”
 @param  titleSting
 @return NSString       返回字符串
 */

+(NSString*)cutoffTitleString:(NSString*)titleSting
{
    NSString*subStr;
    if (titleSting.length>14)
    {
        NSString *str3 = [titleSting substringToIndex:14];
        subStr = [NSString stringWithFormat:@"%@...", str3];
    }else
    {
        subStr = [NSString stringWithFormat:@"%@",titleSting];
    }
    return subStr;
}
@end
